package com.dragon.modules.yuegou.model.member;

import com.dragon.modules.yuegou.entity.member.TemplateRightsEntity;
import com.dragon.modules.yuegou.enums.member.TemplateRightsRightsType;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 会员卡等级权益关联表模型类
 *
 * @author pbuilder generated
 * @date 2021-12-16 20:15:21
 * @company sgy
 * @version 2.0
 * @see Length 长度限制
 * @see NotNull 对象非空
 * @see NotEmpty 字符串、集合、表、数组非空
 */
public class TemplateRights extends TemplateRightsEntity {

	/**
	 * 构造一个空会员卡等级权益关联表模型对象
	 */
	public TemplateRights(){
		super();
	}

	/**
	 * 依据实体对象的信息构造一个会员卡等级权益关联表模型对象
	 *
	 * @param entity 实体对象
	 */
	public TemplateRights(TemplateRightsEntity entity){
		super(entity);
	}

	/**
	 * 依据其它对象的信息构造一个会员卡等级权益关联表模型对象
	 *
	 * @param other 其它对象
	 */
	public TemplateRights(TemplateRights other){
		super(other);
	}


	@Override
	public String getId() {
		return id;
	}

	/**
	 * 设置主键
	 *
	 * @param id 主键
	 * @return 当前对象
	 */
	public TemplateRights id(String id) {
		this.id = id;
		return this;
	}

	@Override
	public String getTemplateSetId() {
		return templateSetId;
	}

	/**
	 * 设置会员卡模板设置id
	 *
	 * @param templateSetId 会员卡模板设置id
	 * @return 当前对象
	 */
	public TemplateRights templateSetId(String templateSetId) {
		this.templateSetId = templateSetId;
		return this;
	}

	@Override
	public String getTemplateGradeId() {
		return templateGradeId;
	}

	/**
	 * 设置会员卡等级设置id
	 *
	 * @param templateGradeId 会员卡等级设置id
	 * @return 当前对象
	 */
	public TemplateRights templateGradeId(String templateGradeId) {
		this.templateGradeId = templateGradeId;
		return this;
	}

	@Override
	public TemplateRightsRightsType getRightsType() {
		return rightsType;
	}

	/**
	 * 设置[枚举]会员权益类型：0-商品折扣-DISCOUNT、1-多倍积分-SCORE
	 *
	 * @param rightsType [枚举]会员权益类型：0-商品折扣-DISCOUNT、1-多倍积分-SCORE
	 * @return 当前对象
	 */
	public TemplateRights rightsType(TemplateRightsRightsType rightsType) {
		this.rightsType = rightsType;
		return this;
	}

	@Override
	public String getMemRightsId() {
		return memRightsId;
	}

	/**
	 * 设置会员卡折扣积分权益id
	 *
	 * @param memRightsId 会员卡折扣积分权益id
	 * @return 当前对象
	 */
	public TemplateRights memRightsId(String memRightsId) {
		this.memRightsId = memRightsId;
		return this;
	}

	@Override
	public String getMemRightsName() {
		return memRightsName;
	}

	/**
	 * 设置会员卡折扣积分权益名称
	 *
	 * @param memRightsName 会员卡折扣积分权益名称
	 * @return 当前对象
	 */
	public TemplateRights memRightsName(String memRightsName) {
		this.memRightsName = memRightsName;
		return this;
	}
}
